package cn.hchaojie.javase.day03;

import static org.junit.Assert.assertFalse;

import org.junit.Test;

public class TestPrime {
	@Test
	public void test1() {
		int x = 28;
		
		boolean result = isPrime(x);
		
		assertFalse(result);
	}
	
	// 方法的两个要素：输入（你传给方法的数据）和输出（方法返回的数据）
	
	// 判断一个数字是不是质数
	public static boolean isPrime(int x) {
		boolean isPrime = true;
		
		for (int i = 2; i < x; i++) {
			if (x % i == 0) {
				isPrime = false;
				break;
			}
		}
		
		return isPrime;
	}
	
	// 把100之内的所有质数都打印出来
	@Test
	public void test2() {
		for (int j = 2; j <= 100; j++) {
			int x = j;
			
			if (isPrime(x)) {
				System.out.println(j);
			}
		}
	}
	
	// 从小到大，打印50个质数
	@Test
	public void test3() {
		int count = 0;
		for (int j = 2; ; j++) {			// 如果判断条件为空，循环就会一直走
			int x = j;
			
			if (isPrime(x)) {
				System.out.println(j);
				count++;
			}
			
			if (count == 50) {			// 循环终止条件，如果没有，就是一个死循环
				break;
			}
		}
	}
}
